1. Field of the Invention
The present invention relates generally to code generation. More particularly, the present invention relates to integrated code generation for adapter-specific property templates.
2. Description of the Related Art
Business integration products optimize operations by integrating and automating business processes. WebSphere® Business Integration products help clients to interconnect their islands of information and make full use of the message-based architecture. WebSphere® Business Integration products are available from International Business Machines Corporation.
Historically, isolated applications were written to solve specific problems. There was little vision at the time of an application landscape that would cover the whole range of business requirements, so the need for an integrated architecture was not apparent. As a result, solutions evolved on a variety of platforms. If and where integration was needed, it was usually achieved by hosting the applications on the same system and sharing files. This was no great restriction, since most applications back then were batch-oriented, and large central computers were the accepted technology standard.
When online processing became possible, businesses found it more acceptable from a risk and system capacity perspective to just collect data during the day and do the actual processing during nightly batch runs. This mode of operation is still quite prevalent in businesses today.
With the evolution of database management systems, the models surrounding the sharing of information began a trend towards integrating information across systems via database federation, transformation, and replication technologies. The models required the systems sharing information to share the physical data models, processing rules, and constraints. This sharing resulted in tight coupling between applications. Still, in the real world of Information Technology, which includes legacy technology and closed systems. Many cases are present in which this is the only feasible style of integration, and in those cases it provides good service. Incidentally, this integration approach coincided with two-tier client-server architectures and continues to be in use.
Integration at a fundamental level is about making sure information from different business applications can be shared and used across and beyond the enterprise in a reliable and secure manner through application connectivity. With the evolution of distributed object and message-oriented middleware technologies, it is now possible to integrate isolated applications running on heterogeneous platforms. This approach allows legacy applications to be connected together with minimal changes needed in existing code. Applications continue to use their own data formats while an “integration broker” provides the necessary mapping, augmentation, and distribution of data at runtime. Message-oriented middleware allows event-based loose coupling between the connected applications and offers increased reliability and flexibility.
Process integration is at the highest level of business integration. Process integration implies coordinating and controlling activities that may span multiple systems and involve people in a variety of roles. Process integration structures, implements, automates, and manages business processes while providing runtime measurements that will then assist in optimizing the process models. Process integration can support long-running transactions and roles-based human activities. The flow of a business event through the process can be modified by external input, either by parameters provided when the process is instantiated or by information retrieved from external data sources such as an application database, or by human decisions such as in an approval step.
Process integration can also be seen as the business logic layer that determines what needs to be done at a given point in a process, as opposed to how it gets done, which is typically the role of the application. Separating the “what” from the “how” allows flexibility since one can be changed without affecting the other.
WebSphere® Business Integration adapters enable data to move between an application, a technology, or a packaged legacy system and the underlying transport infrastructure. These adapters access, transform, and route data through the integration brokers.
Application adapters allow interactions with specific applications and are intermediaries between collaborations or message-flows and applications. These adapters transform data from the application into business objects that can be manipulated by the collaborations and message-flows, and transform business objects from the collaborations and message-flows into data that can be received by the specific application.
Technology adapters allow interactions that conform to specific technology standards. For example, the extensible markup language (XML) connector can be used for sending data from WebSphere® InterChange Server collaborations to a Web server, even if that Web server resides beyond a firewall on a network that is not running the connector agent or other IBM WebSphere® software. Extensible markup language (XML), Java™ database connectivity (JDBC™), Java™ text (JTEXT), and Java™ message service (JMS) adapters are examples of technology adapters.
Mainframe adapters allow interactions with legacy applications running on mainframes, such as the CICS adapter.
E-business adapters provide proven solutions for securely connecting over the firewall to clients' desktops, to trading partners' internal applications, and to online marketplaces and exchanges, for example, the E-Mail adapter.
WebSphere® Business Integration Adapters are built using a common customizable Java™-based framework, and can be deployed on a variety of platforms. However, when adapter developers are developing their adapters for WebSphere® Business Integration, the developers must read the Connector Development Guide for Java™, use Connector Configurator to create their adapter-specific property template, and program adapter code for the adapter-specific property template. Programming adapter code for the adapter-specific property template is difficult, time consuming, and susceptible to mistakes.